Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

自治系统与 BGP(进阶)

复习

  • 链路状态路由:掌握全网拓扑后计算最短路径
  • 距离向量路由:与邻居交换距离向量
  • 路径选择问题:把网络抽象成带权图选路

本章为进阶内容,零基础读者可以跳过,不影响后续阅读。

TL;DR

  • 互联网由许多独立的“自治系统”组成
  • 域内路由与域间路由,是两套不同的问题
  • BGP 在自治系统之间交换可达信息
  • 域间更看重策略与商业关系,而非单纯最短

正文

  前两章的路由算法,都默认整个网络可以用一张图表示、由同一套规则管理。可现实的互联网不是这样:它由成千上万个独立的组织各自运营,谁也不归谁管。

  这些独立管理的网络,称为自治系统(AS,Autonomous System)。

为什么要分域

  如果全世界只用一张图、跑一次最短路,会怎样?

  • 规模太大:节点和链路数量惊人,任何一台路由器都难以保存和计算
  • 管理边界:每个组织有自己的策略、成本和隐私,不愿把内部细节全公开
  • 政策各异:两家运营商之间可能约定“不互相免费转发”,这不是技术最短能表达的

  所以互联网被切成许多自治系统:每个系统内部自己管好,系统之间只交换“能不能到达”这样的粗粒度信息。

域内与域间

  于是路由分成两个层次:

  • 域内路由(IGP):在一个自治系统内部选路,前面讲的距离向量、链路状态都可以用在这里
  • 域间路由(EGP):在自治系统之间交换可达信息,代表就是 BGP(边界网关协议)

  BGP 交换的不是简单的距离,而是“去某个地址范围,要经过哪些自治系统”这样的路径信息。这样,各方都能看到一条宏观的路线。

策略优先于最短

  域间路由最特别的一点是:它往往不选“最短”,而是选“最符合政策”。

  因为自治系统之间常有商业关系:有的链路是付费的,有的免费,有的伙伴关系,有的竞争对手。路由器会优先走经济上更划算、合作更紧密的路径,哪怕绕一点。

  这提醒我们:网络不只有技术约束,还有组织和经济约束。 理解了这一点,才能理解为什么真实的路由有时看起来“不合常理”。

  到这里,跨网络的寻路告一段落。数据包终于快到达目的地主机了,可能它要交给主机上的哪个程序呢?这就需要下一组概念:端口与传输层。

思考题 1

  为什么互联网要划分成许多自治系统,而不是用一张统一的地图?

思考题 2

  域间路由为什么常常不按“最短路径”来选?

小结

知识点

  • 互联网由许多自治系统组成
  • 域内路由与域间路由分层解决
  • BGP 交换自治系统之间的可达信息
  • 域间路由更看重策略与商业关系

参考资料

  1. Wikipedia(zh):自治系统:由单一组织管理的一组网络
  2. Wikipedia(zh):边界网关协议:自治系统之间交换路由信息的协议

思考题答案(仅供参考)

思考题 1

  因为单一地图在规模上不可行,也无法尊重各组织的管理边界、隐私和政策。划分成自治系统后,每个系统内部自行管理,系统之间只交换粗粒度的可达信息,既可行又尊重了各方权益。

思考题 2

  因为自治系统之间存在商业与合作关系:有些链路付费、有些免费,有些是伙伴、有些是对手。选择路径时会优先考虑政策与经济利益,而不是单纯的距离或时延,所以常常不是最短的那条。

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

![](https://raw.githubusercontent.com/TinySnow/computer-science-guide-resources/master/computer-science-guide/cover/计算机网络/自治系统与 BGP.png)

设计师 | 南国微雪